This invention relates to manipulation of graphic structures.
As illustrated in FIG. 4, a graphic structure may be represented by a set of segments 415, 425, 435 connected by joints 420, 430, with the joint angles determining the positions of the segments. Kinematics is an approach to structure manipulation, construing a structure (or a part of a structure) as having an iterative branching arrangement, beginning with a root 410 branching off to zero or more joints 420, each of which, in turn, may branch off to zero or more joints 430, and so on, with each branch eventually terminating in an end effector 440.
Graphic structures can be used in computer graphics. For example, a graphic structure may be used in animation to represent an arm, with a root representing the shoulder, joints representing the elbow and the wrist, and an end effector representing the hand.
Forward kinematics addresses the problem: "Assuming a stationary root and given these joint angles for the structure's joints, find the position of the end effectors." Using the arm example, the problem would be to find the position of the hand, given the position of the root and the angles of the elbow and the wrist. Only one configuration of the structure satisfies the given joint angles, and is readily determined by starting at the root and positioning the joints based on the given joint angles until the end effector positions are determined.
Inverse kinematics addresses the reverse problem: "Given these goal positions for the structure's end effectors, find the configuration of the structure that positions the end effectors at the goal positions." Again using the arm example, the problem involves finding angles of the elbow and wrist to place the hand at a specified goal position. Unlike forward kinematics, inverse kinematics addresses a problem that may have multiple solutions, as multiple sets of joint angles may satisfy the placement requirement of the end effectors.